perm filename RESPON.TO[P,JRA] blob sn#143835 filedate 1975-01-27 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Several  responses  to my  ACM  letter  have  been of  the  form:  "I
C00012 ENDMK
CāŠ—;
Several  responses  to my  ACM  letter  have  been of  the  form:  "I
basically  agree  with your  ideas  but there  are  better  ways than
LISP..." The arguments usually point  out the deficiencies  in  LISP;
either problems with its original design -- poor closures, paucity of
data  structures--  or hacks  in  its usual  implementation --exposed
property lists, and generally weak protection  from self-destruction,
etc.    These criticisms  have  happened  sufficiently  often that  a
response should be given. 

Yes, there are some serious flaws in LISP both in conception and from
a practical  standpoint.   In SUPER  LISP I  attempt to expose  those
difficulties which  I know of;  and in the  final chapter I explain a
possible LISP-like language which attempts to remedy these  errors of
omission and commission. 

Let me point out immediately, that  as a research or theoretical tool
for advanced study of programming languages, LISP is highly suspect. 
My ax-grinding is in the realm of undergraduate curriculum.   Why not
teach them  the "right" way  to begin with?   There are  at least two
reasons for continuing with LISP. 

First, as I stated in my ACM letter, I believe that the primary  goal
of undergraduate  education is  to get  the students  to think  about
problems,  or  perhaps, just  to  think. They  should  be  exposed to
computer science  in a way  which emphasizes  the little  continunity
that there is. We can not  afford to have machines designed by people
ignorant  of programming  language design;  we cannot afford  to have
programmers ignorant of the methods of good  programming practice and
ideas  of program  correctness.   LISP is  sufficiently sophisticated
that it  can  support such  a  broad  spectrum of  modern  topics  in
computer science.  To understand the inadequacies in LISP, requires a
discussion of the original problem. To present a new language without
a discussion of why  less sophisticated solutions are not  sufficient
is to condem  people to make the same mistakes  which LISP's original
designers  and implementors  made.   There's  that old  cliche' about
people who  do not understand  history's past  mistakes are bound  to
repeat  them. Undergraduates are  renown  for  their ability  to make
mistakes.  So to cover the field of computer science in a  reasonably
unified fashion, and to expose the pitfalls  waiting for the would-be
language designer or implementor, LISP is without rival. 

The  second reason  for defending  LISP  is much  more practical.   I
believe  that  there  has  been  little  progress  in  the  field  of
undergraduate  education. We  are still  tied to  FORTRAN, PL/1,  and
machine  language  courses. If  Peter  Naur  is to  be  believed, the
prognosis for breaking this cartel is quite poor.  I believe that (at
least  in  this  country)   the  only  possible  way  to  change  the
educational policies is  through LISP.   Though there  may be  better
languages around, the  typical departmental bureaucrat is  not likely
to  commit his  department to  some  up-start dialect.   He   must be
convinced  that it  will  make  his  department  more  beautiful  and
desireable.  Of  the acceptable languages (PASCAL is not  one) LISP I
believe  is unique with  regard to this "political  reality". LISP is
reasonbly accessible; there is even aversion (sic) in FORTRAN.  There
is a signifcant history of interesting programs available in LISP and
there is a significant number  of talented people around the  country
who are knowledgeable in LISP folk-lore. If the local wizard dies the
department  doesn't  have  to  close  down.   Furthermore  the  major
research   institutions    use  LISP  quite  heavily; even  the  most
hard-nosed bureaucrat cannot ignore this fact.  Now it has taken LISP
fifteen years  to gain even this small measure of respectability. How
long would it take XYZ 1.5 to gain a similar foothold? 

Of course this argument presupposes the desireability of exposing the
hoi-poloi to a sophisticated language. Why not "Let 'em eat FORTRAN"? 
I think if nothing else  it is in our  own  best interests.   Getting
the very best education to the future  researchers is obvious; but we
must also get  an improved education to the working programmer.  They
will have  a significantly  greater  impact on  the world  than  most
researchers; they will  have a greater impact on the  world than most
of  us would  like to  imagine. Self-preservation  says they  must be
better educated. 

A couple of  people have pointed  out the difficulties after  getting
LISP  accepted.   We would  be in  danger of  having  a sophisticated
language being taught by incompetent teachers; a situation similar to
that of the  "new mathematics" (among  others).  That certainly  is a
distinct  possibility. There are at  least two answers.   First since
LISP DOES have a  counter-culture, a sufficiently persistent  student
can look  elswhere for  guidance; again an  argument for  LISP rather
than a  local dialect. Second LISP most assuredly should be available
on an interactive  machine. Then there is  no excuse for the  student
(or the  teacher) not to  go down the  the machine and  find out what
really happens! In either case we are dealing with a group of  people
with a significantly greater degree of self-government than  primary-
school students. If college students don't like  what  is  going down
they are able to raise sufficiently embarassing question.

So in  summary,  the combination  of  LISP's power,  and  its  hacks,
coupled with  the realities  of departmental  inertia makes LISP  the
singular candidate for improving education. 


			"That language ranks highest which goes 
			 farthest in the art  of  accomplishing 
			 much with little means, or, in other 
			 words, which is able to express the
			 greatest amount of meaning with the
			 simplest mechanism."

			    Jespersen, via Naur